#include"Processpool.hpp"
#include"Task.hpp"

// 程序的使用方法示例
void Usage(std::string proc)
{
    std::cout << "Usage:" << proc << " process-num" << std::endl;
}

// 父进程自己就是master
int main(int argc, char *argv[])
{
    // 指定创建进程池的进程个数
    if (argc != 2)
    {
        Usage(argv[0]);
        return UsageError;
    }

    int num = std::stoi(argv[1]);
    Processpool *pp = new Processpool(num,Worker);
    
    // 1. 初始化进程池
    pp->InitProcesspool();
    // pp->DebugPrint();

    // 2. 派发任务
    pp->DispatchTask();

    // 3. 退出进程池
    pp->CleanPprocesspool();
    

    return 0;
}